package com.hzsx.station;

public class Station extends Thread {

 private   static int tick = 10; // 修改为 10 张票

    // 创建一个静态钥匙，这里使用 Object 类型
    // 创建一个静态钥匙
    static Object ob = "aa";//值是任意的

    // 构造方法，用于设置线程名字
    public Station(String name) {
        super(name); // 调用父类的构造方法设置线程名字
    }

    // 重写 run 方法，执行卖票操作
    @Override
    public void run() {
        while (tick > 0) {
            synchronized ("1") { // 这个很重要，必须使用一个锁
                // 进入的线程会持有锁，直到卖票完成才释放锁
                if (tick > 0) {
                    System.out.println(this.getName() + " 卖出了第 " + tick + " 张票");
                    tick--;
                } else {
                    System.out.println("票卖完了");
                }
            }

            try {
                Thread.sleep(1000); // 休眠 1 秒
            } catch (InterruptedException e) {
                throw new RuntimeException(e);
            }

        }
    }

}
